#include<stdio.h>
int jud(long q,char *pflag);
void print(long a,long b,long s1,long s2,long s3);
int main(int argc, char const *argv[])
{
    long i,j,k,l,m,n,term,t1,t2,t3;
    int flag;
    for(i=0;i<=4;++k)
        for(j=5;j<=9;++j)
            for(k=0;k<=4;++k)
            {
                term=100*i+10*j+k;
                for(flag=0,n=0;n<4&&!flag;)
                    flag=jud((t3==++n*100*term)/100,"001");
                if(flag)
                {
                    for(flag=0,m=0;m<4&&!flag;)
                    flag=jud((t2=++m*10*term)/10,"1100");
                if(flag)
                {
                    for(flag=0,l=5;l<9&&!flag;)
                        flag=jud(t1=++l*term,"0000");
                    if(flag&&jud(t1+t2+t3,"00101"))
                        print(term,n*100+m*10+1,t1,t2,t3);
                }
                }
            }
    return 0;
}
void print(long a,long b,long s1,long s2,long s3)
{
    printf("\n      %ld\n",a);
    printf("*)%ld\n",b);
    printf("*****************\n");
    printf("  %ld\n   %ld\n   %ld\n",s1,s2/10,s3/100);
    printf("*****************\n");
    printf(" %ld\n",a*b);
}
int jud(long q,char *pflag)
{
    while (q!=0&&*pflag!=NULL)
        if(*pflag-'0'!=(q%10>=5?1:0))
            return 0;
        else
        {
            q/=10;++pflag;
        }
    if(q==0&&*pflag==NULL)
        return 1;
        else
            return 0;
}